home *** CD-ROM | disk | FTP | other *** search
/ SGI MineSet 2.5 / SGI MineSet 2.5.iso / dist / imgtools.idb / usr / share / src / imgtcl / imgbg.z / imgbg
Text File  |  1998-05-12  |  926b  |  38 lines

  1. #!/usr/sbin/imgtcl
  2. #
  3. # This script can be used to create a screen sized background image from
  4. # an arbitrarily sized input image.  The screen is assumed to be 1280x1024.
  5. # The output file format is inferred from the output filename.
  6. #
  7.  
  8. # check arguments
  9.  
  10. if {$argc != 2} {
  11.     puts "Usage: imgbg <input-file> <output-file>"
  12.     exit 1
  13. }
  14.  
  15. # open the input image
  16.  
  17. ilFileImgOpen infile [lindex $argv 0]
  18.  
  19. # compute the zoom factor needed to fill a 1280x1024 output
  20.  
  21. new iflSize size {1} 
  22. infile getSize size
  23. set xzoom [expr 1280./[$size 0 x]]
  24. set yzoom [expr 1024./[$size 0 y]]
  25. set zoomfactor [expr $xzoom > $yzoom? $xzoom : $yzoom]
  26.  
  27. # create a zoomed version of the image 1280x1024, use bi-linear resampling
  28.  
  29. ilRotZoomImg zoom $infile 0 $zoomfactor $zoomfactor ilBiCubic
  30. zoom setXYsize 1280 1024
  31.  
  32. # save it in the ouput file
  33.  
  34. ilFileImgCreate outfile [lindex $argv 1] zoom 
  35. ilSetDither ilFSDither
  36. outfile copy zoom
  37. outfile delete
  38.